import request from '@/config/axios'

/** 设备配置信息 */
export interface DeviceConfig {
          id: number; // 主键ID
          clientClientId?: string; // 客户端设备clientId
          clientDeviceIndex: string; // 客户端设备索引
          clientDeviceName?: string; // 客户端设备名称
          clientDeviceType?: string; // 客户端设备类型
          clientDeviceRoomNumber: string; // 客户端设备房间号
          platformClientId?: string; // 平台设备clientId
          platformProductId?: string; // 平台产品id
          platformDeviceSerialNumber?: string; // 平台设备序列号
          platformUserId?: string; // 平台用户id
          platformProductName?: string; // 平台产品名称
          platformDeviceName?: string; // 平台设备名称
          platformDeviceType?: string; // 平台设备类型
  }

// 设备配置 API
export const DeviceConfigApi = {
  // 查询设备配置分页
  getDeviceConfigPage: async (params: any) => {
    return await request.get({ url: `/gateway/device-config/page`, params })
  },

  // 查询设备配置详情
  getDeviceConfig: async (id: number) => {
    return await request.get({ url: `/gateway/device-config/get?id=` + id })
  },

  // 新增设备配置
  createDeviceConfig: async (data: DeviceConfig) => {
    return await request.post({ url: `/gateway/device-config/create`, data })
  },

  // 修改设备配置
  updateDeviceConfig: async (data: DeviceConfig) => {
    return await request.put({ url: `/gateway/device-config/update`, data })
  },

  // 删除设备配置
  deleteDeviceConfig: async (id: number) => {
    return await request.delete({ url: `/gateway/device-config/delete?id=` + id })
  },

  /** 批量删除设备配置 */
  deleteDeviceConfigList: async (ids: number[]) => {
    return await request.delete({ url: `/gateway/device-config/delete-list?ids=${ids.join(',')}` })
  },

  // 导出设备配置 Excel
  exportDeviceConfig: async (params) => {
    return await request.download({ url: `/gateway/device-config/export-excel`, params })
  }
}
